#include<iostream>
#include<unistd.h>
#include<signal.h>
using namespace std;

// void fuc_t_2(int signo)
// {
//     cout<<"get singal:"<<signo<<endl;
// }

// void fuc_t_3(int signo)
// {
//     cout<<"get singal:"<<signo<<endl;
// }
// void myhandler(int signo)
// {
//     std::cout << "get a signal: " << signo << " count: " <<  std::endl;
//     int n = alarm(10);
//     std::cout << "return: " << n << std::endl;
//     // alarm(0);
//     // exit(0);
// }
// int main()
// {
//     int count=0;
//     signal(2,fuc_t_2);
//     signal(3,fuc_t_3);
//     signal(3,myhandler);
//     while(1)
//     {
//         alarm(1);
//         std::cout<<++count<<":我是进程，我的pid是："<<getpid()<<std::endl;
//     }

//     return 0;
// }
///////////////////////////////////

#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>

void sig_alarm(int signo) 
{ 
  cout<<"我得到了SIGALRM信号，我要退出了\n";
  exit(0); 
}
int main(int argc, char *argv[]) 
{ 
  signal(SIGALRM, sig_alarm); 
   alarm(5); 
   //sleep(5); 
   for(int i=1;i<8;i++)
   {
     printf("sleep %d\n",i);
     sleep(1);
   }
  return 0; 
}